<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Pedido extends CI_Model {
	
	protected $cod_pedido_auto;
	protected $cod_forma_emp_auto;
	protected $cod_local_auto;
	protected $num_pedido;
	protected $data_pedido;
	protected $hora_pedido;
	protected $taxa_entrega;
	protected $total_itens;
	protected $total_pedido;

	protected $CI;

	public function __construct()
	{
		parent::__construct();
		$this->cod_pedido_auto = '';
		$this->cod_forma_emp_auto = '';
		$this->cod_local_auto = '';
		$this->num_pedido = '';
		$this->data_pedido = '';
		$this->hora_pedido = '';
		$this->taxa_entrega = '';
		$this->total_itens = '';
		$this->total_pedido = '';
	
		$this->CI =& get_instance();
	}

	public function carregarListaPedidos($idCliente, $diasAtras)
	{
		// locais de entrega do cliente
		$this->db->select('cod_local_auto');
		$this->db->where('cod_cliente_auto', $idCliente);
		$query = $this->db->get('local_entrega');

		if ($diasAtras == 0)
			$diasAtras = 30;

		if ($diasAtras < 0)
			$diasAtras = ($diasAtras*-1);

		if ($query && $query->num_rows() > 0) 
		{
			$pedidos = array();

			foreach ($query->result() as $local) 
			{
				$this->db->where('cod_local_auto', $local->cod_local_auto);
				$sql = '
					SELECT 	P.cod_pedido_auto,
							LE.desc_local_entrega,
							LE.endereco,
							LE.numero,
							LE.bairro,
							LE.cep,
							P.num_pedido,
							P.data_pedido,
							P.hora_pedido,
							P.taxa_entrega,
							P.total_pedido,
							P.total_itens,
							IFNULL(E.nome_fantasia, E.razao_social) nome_empresa,
							FP.desc_forma_pagto
					FROM	pedido P
							INNER JOIN local_entrega LE ON (P.cod_local_auto = LE.cod_local_auto)
							INNER JOIN forma_pagto_emp FPE ON (P.cod_forma_emp_auto = FPE.cod_forma_emp_auto)
							INNER JOIN forma_pagto FP ON (FPE.cod_forma_auto = FP.cod_forma_auto)
							INNER JOIN empresa E ON (FPE.cod_empresa_auto = E.cod_empresa_auto)
					WHERE 	LE.cod_local_auto = ?
							AND P.data_pedido >= DATE_ADD(NOW(), INTERVAL -? DAY)';
				
				$query2 = $this->db->query($sql, array($local->cod_local_auto, $diasAtras));

				if ($query2->num_rows() > 0){
					foreach ($query2->result() as $pedido){
						$pedidos[] = $pedido;
					}
				}
			}			
		}

		return $pedidos;
	}

	public function carregarItensPedido($idPedido)
	{
		$sql = '
			SELECT 	IP.cod_item_ped_auto,
					I.cod_item_auto,
					I.cod_empresa_auto,
					I.cod_categoria_auto,
					I.cod_item,
					I.desc_item,
					I.item_indisponivel,
					I.obs,
					IP.qtd_item,
					IP.subtotal_item
			FROM 	item I
					INNER JOIN item_pedido IP ON (I.cod_item_auto = IP.cod_item_auto)
			WHERE 	IP.cod_pedido_auto = ?';

		$query = $this->db->query($sql, $idPedido);

		$itens = array();

		if ($query->num_rows() > 0){
			foreach ($query->result() as $item){
				$itens[] = $item;
			}
		}

		return $itens;
	}

	public function gravar($value=''){
		# code...
	}
}